import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store/index";
import "assets/css/global.css";
import * as utils from "assets/js/utils";

import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
import * as ElIcons from "@element-plus/icons";
import zhCn from "element-plus/es/locale/lang/zh-cn";
//导入事件总线的库
import mitt from "mitt";

const app = createApp(App);
app.config.globalProperties.$utils = utils; //注册全局通用方法
// // 获取方式
// // const instance = getCurrentInstance(); //  调用getCurrentInstance方法
// // 第一种方式 获取全局的公共方法 请求
// // const utils = instance.appContext.config.globalProperties.$utils;
// // 第二种通过 proxy 获取全局 的方法
// // const utils = instance.proxy.$utils;

app.use(ElementPlus, {
  locale: zhCn,
});
Object.keys(ElIcons).forEach((key) => {
  app.component(key, ElIcons[key]);
});

//事件总线  npm install --save mitt  安装第三方的事件总线库
//挂载事件总线
app.config.globalProperties.$bus = new mitt();

app.use(store).use(router).mount("#app");
